Two
VBScript programs that use ADO to enumerate all Domain Controllers in the
domain.
The first program finds all objects of class nTDSDSA in the Configuration container of Active Directory. This container is replicated to all Domain Controllers in the domain. The parent object
of any object with objectClass equal to nTDSDSA is a Domain Controller
object, which in turn is in a Servers container. The parent of the Servers
container is the Site container, corresponding to the site the DC is
assigned to. For each Domain Controller found, this program outputs the
NetBIOS name of the DC, the DNS host name, the Distinguished Name of the DC,
and the name of the site it is assigned to.
EnumDCs.txt <<-- Click here to view or download the program
The second program
also uses ADO, but this time filters on objects of class "computer" where the ADS_UF_SERVER_TRUST_ACCOUNT bit of the userAccountControl attribute is set.
The bit mask for this setting is equal to &H2000
(decimal 8192). This bit
is only set if the object is a Domain Controller. This program also outputs
the NetBIOS name, the Distinguished Name, and the DNS host name of each
Domain Controller, but not the name of the site the DC is assigned to. This
program should be more efficient than the first because it does not require
binding to any objects in Active Directory.
EnumDCs2.txt <<-- Click here to view or download the program